package dpatterns.decorator.starbuzz;

import java.text.NumberFormat;

import dpatterns.decorator.starbuzz.coffee.Coffee;
import dpatterns.decorator.starbuzz.coffee.Size;
import dpatterns.decorator.starbuzz.coffee.impl.DarkRoast;
import dpatterns.decorator.starbuzz.coffee.impl.HouseBlend;
import dpatterns.decorator.starbuzz.condiments.impl.Caramel;
import dpatterns.decorator.starbuzz.condiments.impl.Milk;
import dpatterns.decorator.starbuzz.condiments.impl.Mocha;
import dpatterns.decorator.starbuzz.condiments.impl.WhippedCream;
import dpatterns.decorator.starbuzz.condiments.impl.flavors.Vanilla;

public class CoffeeShop {

	public static void main(String[] args) {
		System.out.println("Welcome to the StarBuzz Coffee Shop!\n");
		NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); 
		
		System.out.println("Preparing your coffee..");
		Coffee coffee = new WhippedCream(new Mocha(new Milk(new HouseBlend())));
		System.out.println("Ingredients: "+coffee.getDescription());
		System.out.println("Price: "+currencyFormatter.format(coffee.getCost()));
		
		System.out.println("\nPreparing your coffee..");
		coffee = new WhippedCream(new Caramel(new Vanilla(new DarkRoast(Size.LARGE))));
		System.out.println("Ingredients: "+coffee.getDescription());
		System.out.println("Price: "+currencyFormatter.format(coffee.getCost()));

	}

}
